/**
 * Copyright &copy; 2020 <a href="https://github.com/somowhere/exam-system">exam-system</a> All rights reserved.
 */
package com.shanhesoft.java.modules.exam.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shanhesoft.java.common.persistence.domain.IdEntity;

import lombok.*;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * 课程管理Entity 课程管理
 * @author admin
 * @version 2020-09-23 19:34:44
 */
@TableName(value = "t_course")
@Data @ToString @NoArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class Course extends IdEntity<Course> {

	private static final long serialVersionUID = 1L;
	/** F_NAME name  :  课程名称 */
	public static final String F_NAME = "name";
	/** F_COMMENT comment  :  课程简介 */
	public static final String F_COMMENT = "comment";
	/** F_FILES files  :  课件 */
	public static final String F_FILES = "files";
	/** F_AVATARURL avatar_url  :  封面图片 */
	public static final String F_AVATARURL = "avatarUrl";
	/** F_BANKID bank_id  :  题库编号 */
	public static final String F_BANKID = "bankId";
	/** F_TEACHERID teacher_id  :  教师编号 */
	public static final String F_TEACHERID = "teacherId";
	/** F_TERMSID terms_id  :  学期编号 */
	public static final String F_TERMSID = "termsId";
	/** F_STARTDATE start_date  :  开始时间 */
	public static final String F_STARTDATE = "startDate";
	/** F_ENDDATE end_date  :  结束时间 */
	public static final String F_ENDDATE = "endDate";


	/** name 课程名称 */@Size(max=255)
	private String name;
	/** comment 课程简介 */@Size(max=2000)
	private String comment;
	/** avatarUrl 课件 */@Size(max=20000)
	private String files;
	/** files 封面图片 */@Size(max=2000)
	@TableField("avatar_url")
	private String avatarUrl;
	/** bankId 题库编号 */@NotNull
	@TableField("bank_id")
	private String bankId;
	/** teacherId 教师编号 */@NotNull
	@TableField("teacher_id")
	private String teacherId;
	/** termsId 学期编号 */@NotNull
	@TableField("terms_id")
	private String termsId;
	/** startDate 开始时间 */@NotNull
	@TableField("start_date")
	private Date startDate;
	/** endDate 结束时间 */@NotNull
	@TableField("end_date")
	private Date endDate;

	@Override
    public boolean equals(Object o) {
        return super.equals(o);
    }
    @Override
    public int hashCode() {
        return super.hashCode();
    }
}
